﻿//+-------------------------------------------------------------------------------------------------------------------------------------------------------
//
//Description: CloudServiceValidationResultDataTemplateSelector
//Author: Aravind Ramarathinam (aravr@microsoft.com)
//
//Copyright © Microsoft Corporation
//Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. 
//You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 
//
//THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, 
//INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABLITY OR NON-INFRINGEMENT. 
//See the Apache Version 2.0 License for specific language governing permissions and limitations under the License.
// 
//--------------------------------------------------------------------------------------------------------------------------------------------------------


using System.Windows;
using System.Windows.Controls;
using VmroleAuthor.ViewModels;

namespace VmroleAuthor.Views
{    
    public class CloudServiceValidationResultDataTemplateSelector : DataTemplateSelector
    {
        public override DataTemplate SelectTemplate(object item, DependencyObject container)
        {
            FrameworkElement element = container as FrameworkElement;
            if (element != null && item != null && item is CloudServiceModelValidationResult)
            {
                CloudServiceModelValidationResult validationResult = item as CloudServiceModelValidationResult;
                if (validationResult.ValidationCategory == ValidationCategory.Error)
                {
                    return element.FindResource("ErrorTemplate") as DataTemplate;
                }
                if (validationResult.ValidationCategory == ValidationCategory.Warning)
                {
                    return element.FindResource("WarningTemplate") as DataTemplate;
                }
                return element.FindResource("SuccessTemplate") as DataTemplate;
            }
            return null;
        }
    }
}
